The Universal Serial Bus (USB) protocol is a host-centric protocol in which a host initiates transactions with a client device. That is, the client device cannot initiate transactions on the bus. USB On The Go (OTG) is protocol that permits role reversal in which either USB device can be a host or a client device. That is, the USB controller of one device can operate as a host while the USB controller of the other device operates as a client device, or vice versa. USB OTG allows USB devices such as printers or smart phones to act as a host while allowing other USB devices such as USB flash drives or cameras to be attached to them. The use of USB OTG allows the roles of such devices to switch back and forth between host and client device. For example, a smart phone may operate as a host device to read data from a removable media, but then present itself as a USB mass storage device (client device) when connected to a host computer. The role reversal capability of USB OTG is problematic in the context of a USB hub whose ports are typically statically defined as host or client device ports.